export interface Card {
  id: number;
  uuid?: string;
  title: string;
  front_image: string;
  back_text: string;
  audio_path?: string;
  audio_text?: string;
  created_at: string;
  updated_at: string;
  serverInfo?: ServerInfo;
}

export interface APIResponse<T> {
  code: number;
  data: T;
}

export interface CardListResponse {
  cards: Card[];
  total: number;
  page: number;
  pageSize: number;
}

export interface CreateCardRequest {
  title: string;
  description?: string;
  imageUrl?: string;
  audioUrl?: string;
  category?: string;
  tags?: string[];
}

export interface UpdateCardRequest extends Partial<CreateCardRequest> {
  id: number;
}

export interface ServerInfo {
  ip: string;
  port: number;
  url: string;
  isHttps: boolean;
} 